import type { Key, BasicPageParams, BasicFormModel } from '@/api/_model/baseModel'

export interface UserModel extends BasicFormModel {
  // 昵称
  nickName: string
  // 手机号
  mobile: string
  // 用户名
  userName: string
  // 从事行业
  note: string
  // 性别 (1男 2女 3保密)
  gender: number
  // 头像
  avatar: string
  // 用户默认首页
  homePath?: string
  // 是否是系统生成
  systemTag?: boolean
  // 用户状态
  status?: boolean
  // 密码
  password?: string
  // 用户所属角色
  sysRoleIds?: Key[]
  // 用户所属部门
  sysDeptIds?: Key[]
}

export interface GetUserParams
  extends BasicPageParams,
    Partial<Pick<UserModel, 'gender' | 'systemTag' | 'status'>> {
  // 关键字
  keywords?: string
  // 角色ID
  roleId?: Key
}

export interface UserInfo extends UserModel {}

// export interface UserInfo {
//   // 用户id
//   id: Key
//   // 用户名
//   userName: string
//   // 昵称
//   nickName: string
//   // 头像
//   avatar: string
// }

export interface LoginParams extends Pick<UserModel, 'mobile'> {
  captchaVerification: string
}

export interface RegisterParams extends Pick<UserModel, 'mobile' | 'nickName'> {
  captchaVerification: string
}

export interface LoginResultModel {
  accessToken: string
  refreshToken: string
  userInfo: UserInfo
  expiresIn: number
}

export interface RegisterResultModel {}
